home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / powerd / examples / GadToolsTest.d < prev    next >
Text File  |  2002-10-28  |  2KB  |  57 lines

  1. // simple gadtools button in window
  2.  
  3. OPT    OSVERSION=37
  4.  
  5. MODULE    'gadtools',
  6.             'libraries/gadtools',
  7.             'intuition/intuition',
  8.             'intuition/screens',
  9.             'intuition/gadgetclass',
  10.             'graphics/text'
  11.  
  12. ENUM    NOERROR,ERROR
  13.  
  14. DEF    window:PTR TO Window,
  15.         glist,
  16.         screen:PTR TO Screen,
  17.         visual=NIL,
  18.         g:PTR TO Gadget,
  19.         GadToolsBase
  20.  
  21. PROC OpenAll()(LONG)
  22.     IF (GadToolsBase:=OpenLibrary('gadtools.library',37))=NIL THEN RETURN ERROR
  23.     IF (screen:=LockPubScreen('Workbench'))=NIL THEN RETURN ERROR
  24.     IF (visual:=GetVisualInfoA(screen))=NIL THEN RETURN ERROR
  25.     IF (g:=CreateContext(&glist))=NIL THEN RETURN ERROR
  26.     IF (g:=CreateGadgetA(BUTTON_KIND,g,[8,8,112,48,'Button',0,0,16,visual,0]:NewGadget,NIL))=NIL THEN RETURN ERROR
  27.     IF (window:=OpenWindowTagList(NIL,[
  28.             WA_Left,214,
  29.             WA_Top,64,
  30.             WA_InnerWidth,128,
  31.             WA_InnerHeight,64,
  32.             WA_IDCMP,IDCMP_CLOSEWINDOW|IDCMP_GADGETUP,
  33.             WA_Flags,$1100E|WFLG_GIMMEZEROZERO,
  34.             WA_Title,'Window',
  35.             WA_CustomScreen,screen,
  36.             WA_Gadgets,glist,
  37.             TAG_END]))=NIL THEN RETURN ERROR
  38.     DrawBevelBox(window.RPort,4,4,120,56,GT_VisualInfo,visual,GTBB_Recessed,1,TAG_END)
  39.     GT_RefreshWindow(window,NIL)
  40. ENDPROC NOERROR
  41.  
  42. PROC CloseAll()
  43.     IF window THEN CloseWindow(window) ELSE PrintF('Unable to open window!\n')
  44.     IF glist THEN FreeGadgets(glist) ELSE PrintF('Unable to create gadgets!\n')
  45.     IF visual THEN FreeVisualInfo(visual) ELSE PrintF('Unable to get visual info!\n')
  46.     IF screen THEN UnlockPubScreen(NIL,screen) ELSE PrintF('Unable to lock a screen!\n')
  47.     IF GadToolsBase THEN CloseLibrary(GadToolsBase) ELSE PrintF('Unable to open gadtools.library v37+!\n')
  48. ENDPROC
  49.  
  50. PROC main()
  51.     IF OpenAll() THEN Raise()
  52.     WaitPort(window.UserPort)
  53.     Raise()
  54. EXCEPT
  55.     CloseAll()
  56. ENDPROC
  57.